package com.gl.saasservice.sys.vo;

import com.haixiaoke.saas.repository.pojo.OrgElectronicVisa;

import javax.persistence.Basic;
import javax.persistence.Column;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 机构层级关系设置表
 */

public class DepartmentHierarchyVO {

    protected Long id;
    @Basic
    @Column(name = "org_id", nullable = true)
    private Long orgId; //机构id

    @Basic
    @Column(name = "parent_id", nullable = true)
    private Long parentId; //父级id

    @Basic
    @Column(name = "enterprise_tag_id", nullable = true)
    private Long enterpriseTagId; //企业标签

    @Basic
    @Column(name = "tag_id", nullable = true)
    private Long tagId; //标签id

    @Basic
    @Column(name = "name", nullable = true)
    private String name; //名称

    @Basic
    @Column(name = "area_id", nullable = true)
    private Long areaId; //区域id

    @Basic
    @Column(name = "auditor_user_id", nullable = true)
    private String auditorUserId; //审批人

    @Basic
    @Column(name = "code", nullable = true)
    private String code; //编码

    //状态0停用1启用
    @Basic
    @Column(name = "status", nullable = true)
    private Integer status;
    @Basic
    @Column(name = "sortby", nullable = true)
    private Integer sortby; //排序
    @Basic
    @Column(name = "last_update_time", nullable = true)
    private Date lastUpdateTime; //最后更新时间

    @Basic
    @Column(name = "merchants_type", nullable = true)
    private Integer merchantsType; //收款方式：0平台商户号收款 1企业商户号收款

    @Basic
    @Column(name = "bind_auit_status", nullable = true)
    private Integer bindAuitStatus; //公租房审批状态：0不需要审批 1需要审批   默认1
    @Basic
    @Column(name = "apply_auit_status", nullable = true)
	private Integer applyAuitStatus;// 资格审批审批状态：0不需要审批 1需要审批  默认1

    private String socialCreditNumber; //单位社会信用证号

    private UserVO userVO=new UserVO();

    private RoleVO roleVO=new RoleVO();

    private DepartmentVO departmentVO;

    private Integer billStatus;

    private Integer smartLockStatus;

    private String areaName; //区域名

    /**
     * 电子签状态 0未开通 1已开通
     */
    private Integer electronicVisaState;

    /**
     * 授权合同数量上限
     */
    private Long contractTotalNumber;

    /**
     * 合同已使用数量
     */
    private Long contractUsedNumber;

    private List<Long> enterpriseTagIds=new ArrayList<>(); //企业标签id集合

    public Integer getBillStatus() {
        return billStatus;
    }

    public void setBillStatus(Integer billStatus) {
        this.billStatus = billStatus;
    }

    public Integer getSmartLockStatus() {
        return smartLockStatus;
    }

    public void setSmartLockStatus(Integer smartLockStatus) {
        this.smartLockStatus = smartLockStatus;
    }

    public Integer getMerchantsType() {
        return merchantsType;
    }

    public void setMerchantsType(Integer merchantsType) {
        this.merchantsType = merchantsType;
    }

    public Integer getBindAuitStatus() {
        return bindAuitStatus;
    }

    public void setBindAuitStatus(Integer bindAuitStatus) {
        this.bindAuitStatus = bindAuitStatus;
    }

    public List<Long> getEnterpriseTagIds() {
        return enterpriseTagIds;
    }

    public void setEnterpriseTagIds(List<Long> enterpriseTagIds) {
        this.enterpriseTagIds = enterpriseTagIds;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public UserVO getUserVO() {
        return userVO;
    }

    public void setUserVO(UserVO userVO) {
        this.userVO = userVO;
    }

    public RoleVO getRoleVO() {
        return roleVO;
    }

    public void setRoleVO(RoleVO roleVO) {
        this.roleVO = roleVO;
    }

    public DepartmentVO getDepartmentVO() {
        return departmentVO;
    }

    public void setDepartmentVO(DepartmentVO departmentVO) {
        this.departmentVO = departmentVO;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Date getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public Long getTagId() {
        return tagId;
    }

    public void setTagId(Long tagId) {
        this.tagId = tagId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getAreaId() {
        return areaId;
    }

    public void setAreaId(Long areaId) {
        this.areaId = areaId;
    }

    public String getAuditorUserId() {
        return auditorUserId;
    }

    public void setAuditorUserId(String auditorUserId) {
        this.auditorUserId = auditorUserId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Integer getSortby() {
        return sortby;
    }

    public void setSortby(Integer sortby) {
        this.sortby = sortby;
    }

    public Long getEnterpriseTagId() {
        return enterpriseTagId;
    }

    public void setEnterpriseTagId(Long enterpriseTagId) {
        this.enterpriseTagId = enterpriseTagId;
    }

	public Integer getApplyAuitStatus() {
		return applyAuitStatus;
	}

	public void setApplyAuitStatus(Integer applyAuitStatus) {
		this.applyAuitStatus = applyAuitStatus;
	}

    /**
     * 获取
     * @return socialCreditNumber
     */
    public String getSocialCreditNumber() {
        return socialCreditNumber;
    }

    /**
     * 设置
     * @param socialCreditNumber
     */
    public void setSocialCreditNumber(String socialCreditNumber) {
        this.socialCreditNumber = socialCreditNumber;
    }

    public String toString() {
        return "DepartmentHierarchyVO{id = " + id + ", orgId = " + orgId + ", parentId = " + parentId + ", enterpriseTagId = " + enterpriseTagId + ", tagId = " + tagId + ", name = " + name + ", areaId = " + areaId + ", auditorUserId = " + auditorUserId + ", code = " + code + ", status = " + status + ", sortby = " + sortby + ", lastUpdateTime = " + lastUpdateTime + ", merchantsType = " + merchantsType + ", bindAuitStatus = " + bindAuitStatus + ", applyAuitStatus = " + applyAuitStatus + ", socialCreditNumber = " + socialCreditNumber + ", userVO = " + userVO + ", roleVO = " + roleVO + ", departmentVO = " + departmentVO + ", areaName = " + areaName + ", enterpriseTagIds = " + enterpriseTagIds + "}";
    }

    public Integer getElectronicVisaState() {
        return electronicVisaState;
    }

    public void setElectronicVisaState(Integer electronicVisaState) {
        this.electronicVisaState = electronicVisaState;
    }
    public Long getContractTotalNumber() {
        return contractTotalNumber;
    }

    public void setContractTotalNumber(Long contractTotalNumber) {
        this.contractTotalNumber = contractTotalNumber;
    }

    public Long getContractUsedNumber() {
        return contractUsedNumber;
    }

    public void setContractUsedNumber(Long contractUsedNumber) {
        this.contractUsedNumber = contractUsedNumber;
    }

}
